package com.macro.mall.portal.service.impl;

import com.macro.mall.model.PmsShop;
import com.macro.mall.portal.dao.PmsShopDao;
import com.macro.mall.portal.service.PmsShopService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class PmsShopServiceimpl implements PmsShopService {
    @Resource
    private PmsShopDao pmsShopDao;

    /**
     * 根据主键id查询单个店铺信息
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public PmsShop queryById(Long id) {
        return this.pmsShopDao.queryById(id);
    }


    @Override
    public PmsShop queryByUserName(String userName) {
        return pmsShopDao.queryByUserName(userName);
    }

    /**
     * 分页查询所有店铺信息
     *
     * @param pageNum 当前第几页
     * @param pageSize 一页有多少记录
     * @return 所有店铺信息list
     */
    @Override
    public List selectAll(Integer pageSize, Integer pageNum) {
        Integer beginRow = pageSize;
        Integer endRow = pageSize * (pageNum-1);
        return pmsShopDao.selectAll(beginRow, endRow);
    }

    /**
     * 组合查询
     *
     * @param pageNum 当前第几页
     * @param pageSize 一页有多少记录
     * @param shopName 店铺名字模糊查询
     * @param showStatus 店铺状态0->不显示；1->显示
     * @return 查询结果列表
     */
    @Override
    public List selectByNameAndStatus(Integer pageSize, Integer pageNum, String shopName, Integer showStatus) {
        Integer beginRow = pageSize;
        Integer endRow = pageSize * (pageNum-1);
        if(shopName.isEmpty()){
            if(showStatus==-1){//店名空状态空
                return pmsShopDao.selectAll(beginRow, endRow);
            }else{//店名空状态不空
                return pmsShopDao.selectByStatus(beginRow, endRow,showStatus);
            }
        }else {
            if(showStatus==-1){//店名不空状态空
                return pmsShopDao.selectByName(beginRow, endRow,shopName);
            }else{//店名与状态都不为空
                return pmsShopDao.selectByNameAndStatus(beginRow, endRow,shopName,showStatus);
            }
        }
    }

}
